#!/usr/bin/env python2
## -*- coding: utf-8 -*-

import sys

def sx(bits, value):
    sign_bit = 1 << (bits - 1)
    return (value & (sign_bit - 1)) - (value & sign_bit)

SymVar_0 = int(sys.argv[1])
ref_263 = SymVar_0
ref_278 = ref_263 # MOV operation
ref_95594 = ref_278 # MOV operation
ref_95794 = ref_95594 # MOV operation
ref_95800 = (0x1F02C962 | ref_95794) # OR operation
ref_96025 = ref_95800 # MOV operation
ref_96031 = (0x1F8797B2 & ref_96025) # AND operation
ref_96140 = ref_96031 # MOV operation
ref_97795 = ref_278 # MOV operation
ref_98693 = ref_96140 # MOV operation
ref_98777 = ref_97795 # MOV operation
ref_98781 = ref_98693 # MOV operation
ref_98783 = (ref_98781 & ref_98777) # AND operation
ref_98892 = ref_98783 # MOV operation
ref_100547 = ref_278 # MOV operation
ref_100747 = ref_100547 # MOV operation
ref_100753 = (((sx(0x40, 0x66AF1DF) * sx(0x40, ref_100747)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_101789 = ref_98892 # MOV operation
ref_101865 = ref_101789 # MOV operation
ref_101879 = (ref_101865 >> (0x7 & 0x3F)) # SHR operation
ref_102918 = ref_98892 # MOV operation
ref_102994 = ref_102918 # MOV operation
ref_103008 = ((ref_102994 << (0x39 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_103117 = ref_101879 # MOV operation
ref_103121 = ref_103008 # MOV operation
ref_103123 = (ref_103121 | ref_103117) # OR operation
ref_103232 = ref_100753 # MOV operation
ref_103236 = ref_103123 # MOV operation
ref_103238 = ((ref_103236 + ref_103232) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_103348 = ref_103238 # MOV operation
ref_112706 = ref_103348 # MOV operation
ref_113924 = ref_103348 # MOV operation
ref_114008 = ref_112706 # MOV operation
ref_114012 = ref_113924 # MOV operation
ref_114014 = ((ref_114012 + ref_114008) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_114124 = ref_114014 # MOV operation
ref_116504 = ref_103348 # MOV operation
ref_117606 = ref_98892 # MOV operation
ref_117806 = ref_117606 # MOV operation
ref_117812 = (0x7 & ref_117806) # AND operation
ref_117913 = ref_117812 # MOV operation
ref_117927 = ((ref_117913 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_118036 = ref_116504 # MOV operation
ref_118040 = ref_117927 # MOV operation
ref_118042 = (ref_118040 | ref_118036) # OR operation
ref_118151 = ref_118042 # MOV operation
ref_118153 = ((ref_118151 >> 56) & 0xFF) # Byte reference - MOV operation
ref_118154 = ((ref_118151 >> 48) & 0xFF) # Byte reference - MOV operation
ref_118155 = ((ref_118151 >> 40) & 0xFF) # Byte reference - MOV operation
ref_118156 = ((ref_118151 >> 32) & 0xFF) # Byte reference - MOV operation
ref_118157 = ((ref_118151 >> 24) & 0xFF) # Byte reference - MOV operation
ref_118158 = ((ref_118151 >> 16) & 0xFF) # Byte reference - MOV operation
ref_118159 = ((ref_118151 >> 8) & 0xFF) # Byte reference - MOV operation
ref_118160 = (ref_118151 & 0xFF) # Byte reference - MOV operation
ref_120123 = ref_118153 # MOVZX operation
ref_120199 = (ref_120123 & 0xFF) # MOVZX operation
ref_123783 = ref_118160 # MOVZX operation
ref_123859 = (ref_123783 & 0xFF) # MOVZX operation
ref_123861 = (ref_123859 & 0xFF) # Byte reference - MOV operation
ref_125823 = (ref_120199 & 0xFF) # MOVZX operation
ref_125899 = (ref_125823 & 0xFF) # MOVZX operation
ref_125901 = (ref_125899 & 0xFF) # Byte reference - MOV operation
ref_127631 = ref_96140 # MOV operation
ref_128965 = ((((((((ref_123861) << 8 | ref_118154) << 8 | ref_118155) << 8 | ref_118156) << 8 | ref_118157) << 8 | ref_118158) << 8 | ref_118159) << 8 | ref_125901) # MOV operation
ref_129951 = ref_98892 # MOV operation
ref_130035 = ref_128965 # MOV operation
ref_130039 = ref_129951 # MOV operation
ref_130041 = (ref_130039 & ref_130035) # AND operation
ref_130266 = ref_130041 # MOV operation
ref_130272 = (0x1F & ref_130266) # AND operation
ref_130373 = ref_130272 # MOV operation
ref_130387 = ((ref_130373 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_130496 = ref_127631 # MOV operation
ref_130500 = ref_130387 # MOV operation
ref_130502 = (ref_130500 | ref_130496) # OR operation
ref_130611 = ref_130502 # MOV operation
ref_133976 = ref_114124 # MOV operation
ref_135194 = ref_114124 # MOV operation
ref_135278 = ref_133976 # MOV operation
ref_135282 = ref_135194 # MOV operation
ref_135284 = ((ref_135282 + ref_135278) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_135394 = ref_135284 # MOV operation
ref_137774 = ref_135394 # MOV operation
ref_138876 = ((((((((ref_123861) << 8 | ref_118154) << 8 | ref_118155) << 8 | ref_118156) << 8 | ref_118157) << 8 | ref_118158) << 8 | ref_118159) << 8 | ref_125901) # MOV operation
ref_139076 = ref_138876 # MOV operation
ref_139082 = (0x7 & ref_139076) # AND operation
ref_139183 = ref_139082 # MOV operation
ref_139197 = ((ref_139183 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_139306 = ref_137774 # MOV operation
ref_139310 = ref_139197 # MOV operation
ref_139312 = (ref_139310 | ref_139306) # OR operation
ref_139421 = ref_139312 # MOV operation
ref_139423 = ((ref_139421 >> 56) & 0xFF) # Byte reference - MOV operation
ref_139424 = ((ref_139421 >> 48) & 0xFF) # Byte reference - MOV operation
ref_139425 = ((ref_139421 >> 40) & 0xFF) # Byte reference - MOV operation
ref_139426 = ((ref_139421 >> 32) & 0xFF) # Byte reference - MOV operation
ref_139427 = ((ref_139421 >> 24) & 0xFF) # Byte reference - MOV operation
ref_139428 = ((ref_139421 >> 16) & 0xFF) # Byte reference - MOV operation
ref_139429 = ((ref_139421 >> 8) & 0xFF) # Byte reference - MOV operation
ref_139430 = (ref_139421 & 0xFF) # Byte reference - MOV operation
ref_141393 = ref_139423 # MOVZX operation
ref_141469 = (ref_141393 & 0xFF) # MOVZX operation
ref_145053 = ref_139430 # MOVZX operation
ref_145129 = (ref_145053 & 0xFF) # MOVZX operation
ref_145131 = (ref_145129 & 0xFF) # Byte reference - MOV operation
ref_147093 = (ref_141469 & 0xFF) # MOVZX operation
ref_147169 = (ref_147093 & 0xFF) # MOVZX operation
ref_147171 = (ref_147169 & 0xFF) # Byte reference - MOV operation
ref_148901 = ref_130611 # MOV operation
ref_150235 = ((((((((ref_145131) << 8 | ref_139424) << 8 | ref_139425) << 8 | ref_139426) << 8 | ref_139427) << 8 | ref_139428) << 8 | ref_139429) << 8 | ref_147171) # MOV operation
ref_151221 = ((((((((ref_123861) << 8 | ref_118154) << 8 | ref_118155) << 8 | ref_118156) << 8 | ref_118157) << 8 | ref_118158) << 8 | ref_118159) << 8 | ref_125901) # MOV operation
ref_151305 = ref_150235 # MOV operation
ref_151309 = ref_151221 # MOV operation
ref_151311 = (ref_151309 & ref_151305) # AND operation
ref_151536 = ref_151311 # MOV operation
ref_151542 = (0x1F & ref_151536) # AND operation
ref_151643 = ref_151542 # MOV operation
ref_151657 = ((ref_151643 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_151766 = ref_148901 # MOV operation
ref_151770 = ref_151657 # MOV operation
ref_151772 = (ref_151770 | ref_151766) # OR operation
ref_151881 = ref_151772 # MOV operation
ref_155011 = ((((((((ref_123861) << 8 | ref_118154) << 8 | ref_118155) << 8 | ref_118156) << 8 | ref_118157) << 8 | ref_118158) << 8 | ref_118159) << 8 | ref_125901) # MOV operation
ref_155909 = ((((((((ref_145131) << 8 | ref_139424) << 8 | ref_139425) << 8 | ref_139426) << 8 | ref_139427) << 8 | ref_139428) << 8 | ref_139429) << 8 | ref_147171) # MOV operation
ref_155993 = ref_155011 # MOV operation
ref_155997 = ref_155909 # MOV operation
ref_155999 = (ref_155997 | ref_155993) # OR operation
ref_156224 = ref_155999 # MOV operation
ref_156230 = (0xF & ref_156224) # AND operation
ref_156455 = ref_156230 # MOV operation
ref_156461 = (0x1 | ref_156455) # OR operation
ref_157500 = ref_98892 # MOV operation
ref_157576 = ref_157500 # MOV operation
ref_157590 = (ref_157576 >> (0x1 & 0x3F)) # SHR operation
ref_157815 = ref_157590 # MOV operation
ref_157821 = (0xF & ref_157815) # AND operation
ref_158046 = ref_157821 # MOV operation
ref_158052 = (0x1 | ref_158046) # OR operation
ref_158975 = ref_151881 # MOV operation
ref_159051 = ref_158975 # MOV operation
ref_159063 = ref_158052 # MOV operation
ref_159065 = (ref_159051 >> ((ref_159063 & 0xFF) & 0x3F)) # SHR operation
ref_160104 = ref_98892 # MOV operation
ref_160180 = ref_160104 # MOV operation
ref_160194 = (ref_160180 >> (0x1 & 0x3F)) # SHR operation
ref_160419 = ref_160194 # MOV operation
ref_160425 = (0xF & ref_160419) # AND operation
ref_160650 = ref_160425 # MOV operation
ref_160656 = (0x1 | ref_160650) # OR operation
ref_160885 = ref_160656 # MOV operation
ref_160887 = ((0x40 - ref_160885) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_160895 = ref_160887 # MOV operation
ref_161813 = ref_151881 # MOV operation
ref_161889 = ref_161813 # MOV operation
ref_161901 = ref_160895 # MOV operation
ref_161903 = ((ref_161889 << ((ref_161901 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_162012 = ref_159065 # MOV operation
ref_162016 = ref_161903 # MOV operation
ref_162018 = (ref_162016 | ref_162012) # OR operation
ref_162119 = ref_162018 # MOV operation
ref_162131 = ref_156461 # MOV operation
ref_162133 = ((ref_162119 << ((ref_162131 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_163056 = ((((((((ref_123861) << 8 | ref_118154) << 8 | ref_118155) << 8 | ref_118156) << 8 | ref_118157) << 8 | ref_118158) << 8 | ref_118159) << 8 | ref_125901) # MOV operation
ref_163954 = ((((((((ref_145131) << 8 | ref_139424) << 8 | ref_139425) << 8 | ref_139426) << 8 | ref_139427) << 8 | ref_139428) << 8 | ref_139429) << 8 | ref_147171) # MOV operation
ref_164038 = ref_163056 # MOV operation
ref_164042 = ref_163954 # MOV operation
ref_164044 = (ref_164042 | ref_164038) # OR operation
ref_164269 = ref_164044 # MOV operation
ref_164275 = (0xF & ref_164269) # AND operation
ref_164500 = ref_164275 # MOV operation
ref_164506 = (0x1 | ref_164500) # OR operation
ref_164735 = ref_164506 # MOV operation
ref_164737 = ((0x40 - ref_164735) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_164745 = ref_164737 # MOV operation
ref_165779 = ref_98892 # MOV operation
ref_165855 = ref_165779 # MOV operation
ref_165869 = (ref_165855 >> (0x1 & 0x3F)) # SHR operation
ref_166094 = ref_165869 # MOV operation
ref_166100 = (0xF & ref_166094) # AND operation
ref_166325 = ref_166100 # MOV operation
ref_166331 = (0x1 | ref_166325) # OR operation
ref_167254 = ref_151881 # MOV operation
ref_167330 = ref_167254 # MOV operation
ref_167342 = ref_166331 # MOV operation
ref_167344 = (ref_167330 >> ((ref_167342 & 0xFF) & 0x3F)) # SHR operation
ref_168383 = ref_98892 # MOV operation
ref_168459 = ref_168383 # MOV operation
ref_168473 = (ref_168459 >> (0x1 & 0x3F)) # SHR operation
ref_168698 = ref_168473 # MOV operation
ref_168704 = (0xF & ref_168698) # AND operation
ref_168929 = ref_168704 # MOV operation
ref_168935 = (0x1 | ref_168929) # OR operation
ref_169164 = ref_168935 # MOV operation
ref_169166 = ((0x40 - ref_169164) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_169174 = ref_169166 # MOV operation
ref_170092 = ref_151881 # MOV operation
ref_170168 = ref_170092 # MOV operation
ref_170180 = ref_169174 # MOV operation
ref_170182 = ((ref_170168 << ((ref_170180 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_170291 = ref_167344 # MOV operation
ref_170295 = ref_170182 # MOV operation
ref_170297 = (ref_170295 | ref_170291) # OR operation
ref_170398 = ref_170297 # MOV operation
ref_170410 = ref_164745 # MOV operation
ref_170412 = (ref_170398 >> ((ref_170410 & 0xFF) & 0x3F)) # SHR operation
ref_170521 = ref_162133 # MOV operation
ref_170525 = ref_170412 # MOV operation
ref_170527 = (ref_170525 | ref_170521) # OR operation
ref_170636 = ref_170527 # MOV operation
ref_170847 = ref_170636 # MOV operation
ref_170849 = ref_170847 # MOV operation

print ref_170849 & 0xffffffffffffffff
